Zope چیــــــست
نوشته شده توسط : بارکزهی

Zope چیــــــست

مقدمه

در اين مقاله به معرفی Zope، قابليتها و مفاهيم اساسی آن پرداخته شده است. براي استفاده از اين مقاله، شما بايد مفاهيم پايه اي HTML و URL ها و همچنين نحوه استفاده از مرورگرها را بدانيد. بمنظور استفاده از Zope و نوشتن برنامه های تحت وب با آن لازم نيست که يک برنامه نويس ماهر باشيد اما مقداري پيش زمينه برنامه نويسي، بخصوص برنامه نويسي شي گرا، مفيد خواهد بود.

اين مقاله شامل آموزش کار با رابط مديريتی Zope و برنامه نويسی با آن نمی باشد. هدف آن مقايسه Zope با محصولات مشابه و بيان بر تری های آن نسبت به برنامه های رقيب است.

 

1- معرفيZope

Zope يک Framework است که به Developer ها، با مهارتهاي متفاوت،امکان ساخت برنامة تحت وب مي دهد. در اين بخش اهداف Zope همراه با جزئيات ، همچنين وجه تمايز آن با برنامه هاي مشابه مورد بررسي قرار خواهد گرفت .

1-1- برنامه تحت وب چيست ؟

· يکي از موارد مهم در مورد وب سايتها اين است که بازديدکنندگان مطالب به روز شده ببينند . محتواي وب سايت نسبت به زمان بايد بطور پيوسته تغيير کند . براي مثال، اگر يک وب سايت تجاري، که به کاربران در خريد و فروش اتومبيلهاي دسته دوم کمک مي کند، در نظر بگيريم، احتياجي که در اين وب سايت بايد برآورده شود اين است که تبليغاتي مخصوص اتومبيلهايي که هنوز فروش نرفته اند بطور مداوم در سايت وجود داشته باشد. همچنين تبليغات جديدي که فروشندگان جايگزين مي کنند حد اکثر بعد از يک يا دو روز در سايت قرار گيرند . اگر هيچکدام از اين موارد برآورده نشوند ، مسلماً اين وب سايت موفق نخواهد بود .

بعضي از وب سايتها ايستا هستند . سايتهاي ايستا به فردي با قدرت دسترسي زياد (اصطلاحاً webmaster) ، به منظور به روز کردن محتواي وب سايت ، به صورت دستي، نياز دارند. به روز کردن محتوا به صورت دستي نيازمند اين است که کدهاي HTML تک تک صفحاتي که نياز به تغيير دارند به روز شوند . معمولاً اين کار از طريق به روز کردن يکسري ازفايلهابرروي سرويس دهنده وب انجام مي گيرد.

ايجاد تغييرات در وب سايتهاي ايستا نيازمند آن است کهwebmasterتمام فايلهايي که وب سايت را تشکيل مي دهند، ببيند و به روز کند. معمولاً وب سايتها رشد مي کنند و هزاران فايل را در بر مي گيرند، در نتيجه انجام اين کار مشکل خواهد بود. وظيفه webmaster در مورد وب سايت تبليغاتي اتومبيل،جهت تازه نگه داشتن تبليغات، مسئوليت زيادتري در بر خواهد داشت. اگر هر صفحه اين وب سايت يک تبليغ براي يک اتومبيل خاص ارائه دهد، او بايد صفحات مربوط به تبليغاتي که از اعتبار ساقط شده اند را حذف کند و نيز صفحات جديد براي تبليغ خريدهاي اخير بوجود آورد، سپس بايد مطمئن شود که هيچ پيوندي به صفحات اشتباهي اشاره نمي کند .

تمام اين کارها مي توانند خيلي سريع و با به روز شدن تعداد کمي فايل انجام شوند، اگر از برنامه هاي تحت وب استفاده شود .

برنامه هاي تحت وب برنامه هايي هستند که مي توانند صفحات خود را به صورت پويا بوجود آورند. وب سايتهايي که ساختار پويا دارند از يک برنامة کامپيوتري جهت مهيا کردن پويايي استفاده مي کنند. اين نوع برنامه ها مي توانند با هر زباني نوشته شوند.

در وب سايتهاي با ساختار پويا، به منظور به روز شدن محتوا يا نوع، نيازي نيست که webmaster سايت را صفحه به صفحه ببيند. در عوض او بايد براي مجموعه صفحاتي که وب سايت را تشکيل مي دهند ظاهر و قيافه مشترکي بسازد. اگر webmaster روش تبليغات به کمک برنامه تحت وب را انتخاب کند، براي ساختن برنامه تحت وب، کافي است که فهرستي از تبليغات را جدا از کدهاي HTML (مثلاً در يک پايگاه داده) نگهداري کند سپس برنامه تحت وب راطوري طراحي کندکه بااستفاده از يک پرس و جو و ساختن کدهاي HTML ، صفحه اي بوجود آورد که کاربر در نظر دارد .

برنامه هاي تحت وب همه جا وجود دارند. براي نمونه جاهايي که امکان جستجو در وب را به ما مي دهند، مانند Google؛ کار کردن بصورت مشترک بر روي پروژه ها، مانند SourceForge؛ خريد اشياء از حراجيها، مانند eBay؛ برقراري ارتباط با افراد ديگر از طريقe-mail، مانندHotmail ؛ يا مشاهده آخرين اخبار مانند CNN.com.

قالبي که به افراد امکان ساخت برنامه تحت وب مي دهد، Web Application Server (بعضي اوقات فقط Application Server ) ناميده مي شود . Zope يک Application Server است که با محصولاتي نظيرBEA WebLogic، Macromedia ColdFusionو(در بعضي موارد)Vignette StoryServer رقابت مي کند. Application Server ها به گسترش دهنده ها امکان ساخت برنامه هاي تحت وب، با استفاده از برخي از زبان هاي برنامه نويسي معمول کامپيوتر، مي دهند. همچنين اين قالب علاوه بر قابليتهاي اساسي نظير templating ، security model و sessions ، سرويسها و ترکيبهايي را در اخـتيار افراد قرار مي دهد که در زمان ساختن برنامه تحت وب مفيد واقع مي شوند.

 

1-2- چگونه مي توان از مزاياي Application Server ها بهره مند شد

اگر قصد داريد برنامه تحت وب بسازيد ، استفاده از يک Application Server کمک زيادي به شما خواهد کرد. شما با استفاده از Application Server مي توانيد سرويسهاي FrameWork آن، که نوشته شده اند و آماده می باشند، را در اختيار بگيريد و نيازي نداشته باشيد که براي نوشتن مجدد آنها خود را به زحمت بيندازيد.

بيشتر Application Server ها امکان انجام وظايف زير را به شما مي دهند.

نشان دادن محتوا به صورت پويا : ممکن است که شما بخواهيد متحواي سايت خود را به کمک يک ساختار جستجو به کاربران خود وابسته کنيد. Application Serverها امکان بوجود آوردن محتوا بصورت پويا را فراهم مي کنند. Application Server ها معمولا ابزارهايي جهت خصوصي سازي، پايگاه داده مجتمع فهرست کردن محتواو جستجو با خود دارند.

مديريت وب سايت : مديريت وب سايتهاي کوچک آسان است، اما وب سايتهايي که از هزاران فايل، تصوير و سند تشکيل شده اند نياز به ابزارهاي قوي مديريتي دارند. همچنين مديريت داده هاي سايت ، کارهاي منطقي و نمايش وب سايت به صورت متمرکز مفيد خواهد بود . بطور معمول Application Server ها اين امکان را مهيا مي سازند .

ساختن برنامه هاي تجارت الکترونيک :با استفاده از FrameWork مربوط به Application Server مي توان برنامه هاي تجارت الکترونيک خبره ساخت .

مديريت وظايف همکاران بطور محفوظ: هنگاميکه با بيش از چند تن کاربر وب سر و کار داريد، امنيت به يک مسئله خيلي مهم تبديل مي شود. مطلوب خواهد بود اگر بتوان افرادي که در رده ها و کلاسهای متفاوت هستند را مسئول کارهاي مختلف با امنيت خاطر کرد. براي مثال افرادي که در حوزه مهندسي هستند نيــاز به مديريت صفحات وب و کارهاي منطقي شان دارند، طراحان احتياج به به روز کردن Templateهاي سايت دارند و مديران پايگاه داده ها نياز به مديريت پرس و جو هاي پايگاه داده دارند. Application Server ها مکانيسمي جهت کنترل دسترسي ها و وظايف مهيا مي سازند.

فراهم آوردن سرويسهاي شبکه : يک وب سايت که از سرويسهاي شبکه استفاده مي کند بايد قادر به پذيرفتن درخواست از برنامه هاي کامپيوتري ديگر باشد. براي مثال، اگر شما يک وب سايت خبري داشته باشيد، شايد بخواهيد بايگاني اخبار خود را در اختيار وب سايتهاي ديگر قرار دهيد. Application Server ها روشهايي را براي بکار گيري سرويسهاي شبکه در اختيار ما قرار مي دهند.

· مجتمع کردن سيستمهاي گوناگون: محتواي فعلي وب سايت شماممکن است در مکانهاي متفاوتي باشند: پايگاه داده هاي رابطه اي، فايلها، وب سايتهاي مجزاو نظاير آن . Application Server ها با استفاده از اين امکان، ديد واحدي از داده هاي فعلي وب سايت به شما ارائه مي دهند. Zope Application Server تمام امکانات گفته شده را فراهم مي کند.

· 1-3- چرا از Zope بجاي Application Server هاي ديگر استفاده کنيم

· اگرکارشما ساختن برنامه هاي تحت وب است، Zope ميتواند سريعترو ارزانترازبرنامه هاي مشابه به شما کمک کند.اين ادعاتوسط خصوصيات زير پشتيباني مي شود

· Zope مجاني است و تحت يک پروانه Open-Source گسترش يافته است. Application Server هاي ديگر معمولاً گران هستند.

· Zope شامل يک Platform است که تمام اجزاءمورد نياز جهت گسترش برنامه ها را با خود به همراه دارد. به منظور توسعه برنامة خود نيازي به پشتيباني نرم افزارهاي جانبي (مثلاً پايگاه داده هاي رابطه اي) نداريد. بيشتر برنامه هاي مشابه به خاطر نيازمند بودن به به پشتيباني نرم افزار هاي کمکي داراي هزينه هاي پنهان مي باشند .

· Zope براي Developer ها اين امکان را مهيا مي سازد که تنها با استفاده از مرورگرها بتوانند برنامه هاي تحت وب خود را بسازند. Internet Explorer ، Mozilla،Netscape ،Omniweb ،Konqueror وOpera مرورگرهاي شناخته شده اي هستند که مي توانند جهت نشان دادن و کار کردن در محيط گسترش Zope (ZMI) مورد استفاده قرار گيرند. همچنين Zope امکان محول کردن وظايف مربوط به گسترش برنامه ها به Developer های ديگر ، با اطمينان خاطر ، از طريق وب و با استفاده از يک رابط واحد ، مهيا مي سازد.

· Zope داراي قالب امنيتي توسعه پذير است. همچنين مي توان به آساني مدلهاي پيش ساختة شناسايي و اجازه دهنده سيستمهاي ديگر نظير LDAP ، Windows NT و RADIUS را بــا Zope مجتـــمع کــــــرد و از آنها استفاده کرد . بيشتر Application Server هاي ديگر از طرف سيستمهاي شناسايي و اجازه دهنده پشتيباني نمي شوند.

· Zope به گروه Developer ها امکان همکاري بطور مؤثر را مي دهد. محيطها يي که اين امکان را مهيا مي کنند نياز به ابزارهايي جهت جلوگيري دخالت افراد با يکديگر دارند ، بدين منظور Zope داراي Undo ، Versions ، History و ديگر ابزارها ست تا افراد بتوانند با آسودگي خاطر با يکديگر کار کنند و از اشتباهات يکديگر جلوگيري کنند. بيشتر Application Serverهاي ديگر اين نوع از خصوصيت را ندارند.

· Zope بر روي بيشتر سيستم عاملهاي ريز کامپيوترها قابل اجراست: Linux ، Windows NT/200/XP ، Solaris ، FreeBSD ، NetBSD ، OpenBSD و Mac OS X. Zope حتي بر روي Windows 98/ME قابل اجراست. اغلب Application Server هاي ديگر نيازمند آن هستند که بر روي سيستم عاملي که پروانه آن را انتخاب کرده اند اجرا شوند.

· Zope مي تواند توسط مفسر زبان Python گسترش يابد. Python داراي کتابخانه هاي متعددي مي باشد که در هنگام ساختن برنامه ها مي توانند مورد استفاده قرار گيرد. اغلب Application Server هاي ديگر توسط زبانهاي ترجمه اي نظيرJAVA ، که سرعت گسترش را کاهش مي دهند ، توسعه مي يابند و يا از زبانهاي غير معمول استفاده مي کنند که کتابخانه هاي کمي دارند.

2- مفاهيم بنيادي Zope

قالب Zope داراي مفاهيم اساسي متعدد زير مي باشد ، فهميدن هرکدام از آنها تجربيات شما را در استفاده از Zope افزايش خواهد داد.

2-1- Zope يک Framework است

Zope ، بيشتر جزييات سخت و طاقت فرساي مربوط به برنامه هاي تحت وب نظير ماندگاري داده ها، مجتمع کردن داده ها و کنترل دسترسي ها، از ديد Developer ها پنهان مي کند و به آنها اجازه مي دهد تا بيشتر بر روي مشکلات موجود متمرکز شوند. همچنين با استفاده از سرويسهاي آماده آن مي توان برنامه هاي تحت وب را خيلي سريعترنسبت به زمانيکه از زبانها و قالبهاي ديگر استفاده مي کنيم ساخت. همچنين Zope دو Solution براي Template کردن متون ، XMLوHTML به نام هاي Document Template Markup Language (DTML) و Zope Page Templates (ZPT) به همراه خود دارد.

2-2- شي گرايي

برخلاف زبانهاي File-base نظيرASP و PHP، Zope بطور زيادي شي گرا مي باشد. شي گرايي مفهومي است که بين تمام زبانهاي برنامه نويسي مشترک مي باشد ، از جمله Python که Zope با آن انجام شده است.

2-3- مديريت از طريق وب

براي ساختن و کار با اشياء Zope ، کافي است از مرورگرتان جهت دسترسي به رابط مديريتي Zope (ZMI) استفاده کنيد. تمام اهداف مديريتي و گسترش برنامه مي توانند بطور کامل و با استفاده از تنها يک مرورگر انجام شوند. از طريق اين رابط مديريتي گسترش دهنده ها مي توانند از اشياء Zope استفاده کنند و يا حتي اشياء جديدي تعريف کنند بدون اينکه به سيستم فايل خدمتگزار وب دسترسي داشته باشند.

اشياء در ساختار سلسله مراتبی اشياء مي توانند هر جا قرار بگيرند. مديــــران سايت مي توانند بوسيله کليک کردن بر روي برگه ها ، که نماي متفاوتي از اشياء را مي دهند ، با اشياء کار کنند. اين نماها بسته به نوع شي متفاوت مي باشند.

-4- امنيت و ايمني وظايف محوله

امروزه برنامه هاي تحت وب موفق نيازمند دخالت و نظر دادن افراد با تخصصهاي متفاوت ، در ضمن سازمان دهي برنامه مي باشند. Zope طوري طراحي شده که اين مدل را تطبيق دهد و اين امکان را به مديران سايت مي دهد که کنترل پروژه را با امنيت خاطر به طراحان خبره ، مديران پايگاه داده ماهر و مديران محتوا محول کنند.

در وب سايتها سنتي نگهداري و امنيت خيلي سريع به يک مشکل تبديل مي شد. اينکه چقدر امنيت در مورد مديران محتوا بخرج دهيم؟ چگونه براي مديران محتوا هنگام ورود به سيستم اعمال امنيت کنيم؟در مورد کدهاي جاسازي شدهSQL در فايلهاي ASP چطور که کار کردن با آن کدها مي تواند دخول به سيستم پايگاه داده ها را به خطر بيندازد؟

اشياء Zope مجموعه غني تري از مجوزها نسبت سيستمهاي سنتي File-Based ارائه مي دهند. مجوزها بر اساس نوع اشياء و قابليتها متفاوت مي باشند. مثلاً مي توان دسترسي ها را طوري تنظيم کنيد که مديران محتوا بتوانند از شي SQL Method استفاده کنند اما نتوانند آنها را تغيير دهند.

Zope امکان مديريت کاربران ازطريق وب بااستفاده ازUser Folder مهيا مي سازد. User Folder يک نوع Folder مخصوص است که شامل شامل اطلاعات مربوط به کاربران مي باشد. User Folder هاي توسعه يافته اي وجود دارند که اطلاعات مربوط به کاربران را مي توانند از منابع ديگري نظير پايگاه داده هاي رابطه اي و يا دايرکتوريLDAP بگيرند.

2-5- توسعه پذيري

Zope توسعه پذير است وکاربران پيشرفته مي توانند انواع جديدي از اشياء ، بوسيله Python و يا بطور کامل از طريق وب و با استفاده از ZMI ، براي Zope بوجود آورند.

3- اجزاي اساسي Zope

Zope از اجزاي مختلفي تشکيل شده است که ، بمنظور کمک به شما در ساختن وبرنامه تحت وب ، با هم در تعامل هستند. اين اجزا در شکل زير نشان داده شده اند و در ادامه در مورد آنها توضيح داده شده است.

 

شکل1- اجزایZope

Zserver - Zope همراه خود يک Web Server دارد که محتوا را به شما و کاربران نشان مي دهد.همچنين اينWeb Server مي تواند محتوا را ازطريق FTP ، WebDAV و XML-RPC نمايش دهد.

Web Server البته ممکن است شما در حال حاضر يک Web Server نظير Apache يا IIS داشته باشيد و نيازي به Web Server مربوط به Zope نداشته باشيد. Zope مي تواند با اين Server Web ها و همچنين با هر Server Web ديگري که از CGI پشتيباني کند کار کند.

Zope Core - اين موتوري است که نحوه نشان دادن را هدايت و رابط مديريتي و پايگاه داده اشياء را راهبري مي نمايد.

Object Database هنگامي که با Zope کار مي کنيد ، در واقع با اشياء ذخيره شده در اين پايگاه داده کار مي کنيد.

Relational Database - اگر نمي خواهيد ، مجبور نيستيد که اطلاعات خود را در پايگاه داده اشياء ذخيره کنيد. Zope مي تواند با پايگاه داده هاي رابطه اي ديگر نظيرOracle ، PostgreSQL ، Sybase ،MySQL و غيره کارکند.

File System- Zope مي تواند با اسناد و فايلهاي ذخيره شده بر روي سيستم فايل خدمتگزار وب کار کند.

ZClasses- Zope به مديران سايتها امکان اضافه کردن اشياء جديد با استفاده از رابط مديريتي Zope را مي دهد. ZClasses از اين نوع اشياء مي باشد.

Products- Zopeهمچنين به مديران سايتها امکان اضافه کردن اشياء جديد بوسيله نصب Product بر روي سيستم فايل خدمتگزار Zope را مي دهد.

 

خلاصه

اين مقاله مقدمه ای بود بر معرفی Zope و اکنون شما با مفاهيم و اهداف Zope آشنا شده ايد. البــته اگر قانون Copy Write در کشور ما رعايت می شد بيشتر به مزايای آن پی می برديد. مخصوصاً اينکه Zope بر روی بيشتر سيستم عاملها (که اغلب مجانی نيز می باشند) قابل اجرا می باشد ، اين خصيصه را بيشتر نمايان می کرد. همچنين مفهوم شي گرايی که اين محصول را از سيستمهاي File-Based سنتی مانند ASP و PHP متمايز کرده است.

زمانی که مديران وب سايت و برنامه نويسان بخواهند از Zope استفاده کنند ، محدوديت مکانی نخواهند داشت و تنها با استفاده از يک مرورگر می توانند از هر مکانی با Zope ارتباط برقرار کنند و تمام اهداف مديريتی و کارهای مربوط به گسترش برنامه ها را از طريق اين مرورگر انجام دهند.

اکنون شما آماده برنامه نويسی با Zope می باشيد. شما می توانيد به منظور شروع کردن برنامه نويسی با Zope و دانستن نحوه کد نويسی با آن، از وب سايت www.zope.org کمک بگيريد.

 

فهرست منابع

The Zope Bible by Scott Robertson and Michael Bernstein.

The Book of Zope by Beehive.

The Zope Web Application Construction Kit edited by Martina Brockman, et. al.

Zope: Web Application Development and Content Management edited by Steve Spicklemire et al.




:: موضوعات مرتبط: Zope چیــــــست , ,
:: بازدید از این مطلب : 455
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 5 خرداد 1392 | نظرات ()
مطالب مرتبط با این پست
لیست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: